package team.seekers.hula.course.resource.examSubmit.entity.vo;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.*;
import team.seekers.hula.common.entity.BaseDTO;

import java.util.List;

/**
 * 集合了题目信息和提交信息的作答页面VO
 */

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class ProblemSubmissionListVO extends BaseDTO {


    /******************************题目信息*************************/

    /**题目id*/
    private String problemId;

    /**题目描述*/
    private String problemDescription;

    /**该题目的类型*/
    private Integer problemType;

    /**该题目的选项集合*/
    private List<String> options;

    /**该题目的答案：
     *     1.问答题为字符串；
     *     2.选择题为二进制表示的整数（例如答案为ABD，二进制为1101，整数为13）
     **/
    private String rightAnswer;

    /**该题目的总分*/
    private Integer criteria;

    /*****************************提交信息************************/

    /**用户提交结果，转换方式同rightAnswer*/
    private String answer;

    /**题目得分，只读*/
    @JsonProperty(access = JsonProperty.Access.READ_WRITE)
    private Float score;

}
